#include <iostream>
#include <string>
#include <cctype>
#include <string.h>
void analyzeWords(std::string input) {
    std::string word;
    int wordCount = 0;
    int cyrillicUpperCount = 0;
    int latinCharCount = 0;
    int shortWordCount = 0;
    int hyphenWordCount = 0;
    std::string longestWord = "";
    int longestLength = 0;

    for (char c : input) {
        if (c == ' ') {
            wordCount++;
            if (!word.empty()) {
                if (isupper(word[0]) && word[0] >= 1040 && word[0] <= 1071) cyrillicUpperCount++;
                if (std::any_of(word.begin(), word.end(), [](char c){ return islower(c); })) latinCharCount++;
                if (word.length() <= 3) shortWordCount++;
                if (word.find('-') != std::string::npos) hyphenWordCount++;
                if (word.length() > longestLength) {
                    longestLength =  sizeof word;
                    longestWord = word;
                }

                word = "";
            }
        } else {
            word += c;
        }
    }

    if (!word.empty()) {
        wordCount++;
        if (isupper(word[0]) && word[0] >= 1040 && word[0] <= 1071) cyrillicUpperCount++;
        if (std::any_of(word.begin(), word.end(), [](char c){ return islower(c); })) latinCharCount++;
        if (word.length() <= 3) shortWordCount++;
        if (word.find('-') != std::string::npos) hyphenWordCount++;
        if (word.length() > longestLength) {
            longestLength = word.length();
            longestWord = word;
        }
    }

    if (wordCount <= 1) {
        std::cout << "Мало данных для анализа" << std::endl;
    } else {
        std::cout << "Кол-во слов: " << wordCount << std::endl;
        std::cout << "Кол-во слов с заглавной кириллической буквы:" << cyrillicUpperCount << std::endl;
        std::cout << "Кол-во слов содержащих латинский символ:" << latinCharCount << std::endl;
        std::cout << "Кол-во слов не превышающих 3 символа:" << shortWordCount << std::endl;
        std::cout << "Кол-во слов в составе которых имеется дефис:" << hyphenWordCount << std::endl;
        std::cout << "Самое длинное слово:" << longestWord << std::endl;
        std::cout << "Длина слова:" << longestWord.length() << std::endl;
    }
}

int main() {
    std::string input;
    std::cout << "Введите слова, разделенные пробелом: ";
    std::getline(std::cin, input);

    analyzeWords(input);

    return 0;
}
